#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<assert.h>
typedef int QueDateType;
typedef struct QueueListNode
{
	QueDateType data;
	struct QueueListNode* next;
}Quenode;
typedef struct head_tail
{
	Quenode* head;
	Quenode* tail;
	int sz;
}h_t;
void init_queue(h_t* q);
void push_queue(h_t* q, QueDateType x);
void pop_queue(h_t* q);
void destroy_queue(h_t* q);
QueDateType queue_front(h_t* q);
QueDateType queue_back(h_t* q);
int size_queue(h_t* q);
bool empty_queue(h_t* q);
